$(document).ready(function() {
	var promptText = {
		username : {
			normal : "3-16个字符，可以使用汉字、数字、字母",
			isDigit : "用户名不能是纯数字",
			isExist : "用户名已经存在"
		},
		password : {
			normal : "6-16个字符，最好使用字母、数字组合，混合大小写",
			reinput : "",
			inconformity : "两次密码输入不一致"
		},
		realName : {
			normal : "大奖得主姓名要与身份证保持一致",
			formatError: "真实姓名长度在2到10汉字之间",
			notChinese : "真实姓名必须是汉字",
			isNull : "请输入真实姓名"
		},
		cardNumber : {
			normal : "中万元以上大奖要凭身份证领取哦",
			formatError : "身份证号码格式错误",
			under18 : "必须年满18周岁才可购彩",
			isNull : "请输入身份证号码"
		},
		mobile : {
			normal : "",
			isNull : "请输入手机号码",
			formatError : "手机号码格式错误"
		},
		email : {
			normal : "",
			isNull : "请输入电子邮箱",
			isExist : "注册邮箱已经存在"
		},
		zipcode : {
			normal : "",
			wrong : "请输入正确的邮政编码"
		}
	};
	
	var _errorUserMap = new Helper.Map();
	var _errorEmailMap = new Helper.Map();
	
	var remoteTrans = new Helper.RemoteTrans({
		url:Helper.basePath+"/register.htm",
		onError:function(json){
			if(json.code ==="6005") {
				promptFailure($("#username")[0],json.message);
				_errorUserMap.put($("#username").val(),1);
			}
			else if(json.code==="6006") {
				promptFailure($("#email")[0],json.message);
				_errorEmailMap.put($("#email").val(),1);
			}else {
				Helper.message(json.message);
			}
		},
		onSuccess:function(json) {
			if(json.returnObject["status"]==1){
				location.href=Helper.basePath+"/page/huodong/sanchongli/success.jsp";
			}else{
				location.href=Helper.basePath+"/page/register/register_success.jsp";
			}
			
		}
	});
	
	$("#subfrm").click(function(){
		$(this).blur();
		if(validataUname() && validataPass() && checkrealName() && checkcardNumber() && checkMobile() && validataEmail() && validataLegalNotice()) {
			remoteTrans.params = {username:$("#username").val().trim(),	password:$("#password").val(), realName:$("#realName").val()
					, cardNumber:$("#cardNumber").val(), mobile:$('#mobile').val(), email:$('#email').val()};
			remoteTrans.addParameters("referer",$("#referer_url_hidden").val());
			remoteTrans.send();
		}
	});
	
	var validataLegalNotice = function(){
		if(!$("#year18").is(":checked"))
		{
			Helper.message("您必须阅读并同意《购彩协议》!");
			return;
		}
		return true;
	};
	
	var checkMemberinfoTrans = function(unameOrEmail)
	{
		var flag = false;
		new Helper.RemoteTrans({
			url:Helper.basePath+"/checkMemberinfo.htm",
			params : {unameOrEmail : unameOrEmail},
			isAsync:false,
			onError:function(json){
			},
			onSuccess:function(json) {
				if(json.returnObject)
				{
					if(json.code ==="6005") {
						_errorUserMap.put(unameOrEmail,1);
					}
					else if(json.code==="6006") {
						_errorEmailMap.put(unameOrEmail,1);
					}
				}
				flag = json.returnObject;
			}
		}).send();
		return flag;
	};
	
	var validataUname = function(){
		var text = $("#username");
		var message = Helper.validata.validataUname(text.val());
		if(message) {
			promptFailure(text[0],message);
			return;
		}
		if(Helper.validata.isInteger(text.val())) {
			promptFailure(text[0], promptText.username.isDigit);
			return;
		}
		if(_errorUserMap.hasKey(text.val()) || checkMemberinfoTrans(text.val())) {
			promptFailure(text[0], promptText.username.isExist);
			return;
		}
		prompt(text[0], promptText.username.normal,true);
		return true;
	};
	
	var validataPass = function(){
		var text = $("#password");
		var message = Helper.validata.validataPass(text.val());
		if(message) {
			promptFailure(text[0],message);
			return;
		}
		prompt(text[0], promptText.password.normal,true);	
		return true;
	};
	
	var validataPass1 = function(){
		var text = $("#password1");
		var val = text.val();
		var message = Helper.validata.validataPass(val);
		if(message) {
			promptFailure(text[0],"确认"+message);
			return;
		}
		if(val!==$("#password").val()) {
			promptFailure(text[0], promptText.password.inconformity);
			return;
		}
		prompt(text[0], promptText.password.reinput,true);
		return true;
	};
	
	/**
	 * 检查真实姓名
	 */
	var checkrealName = function(){
		var flag = false;
		var text = $("#realName");
		var value = text.val();
		var errorMsg = "";
		if(!Helper.isEmpty(value)){
			if(Helper.validata.isChinese(value)) {
				var len = Helper.validata.getByteLength(value);
				if(len < 4 || len > 20){
					errorMsg = promptText.realName.formatError;
				}else {
					flag = true;
				}
			}else {
				errorMsg = promptText.realName.notChinese;
			}
		}else {
			errorMsg = promptText.realName.isNull;
		}
		if(flag) {
			prompt(text[0], promptText.realName.normal,true);
		}else {
			promptFailure(text[0], errorMsg);
		}
		return flag;
	};
	
	/**
	 * 身份证号码
	 * 430528198709127392
	 */
	var checkcardNumber = function() {
		var flag = false;
		var text = $("#cardNumber");
		var value = text.val();
		var errorMsg = "";
		if(!Helper.isEmpty(value)){
			if(Helper.validata.isIdCardNo(value)) {
				if(Helper.validata.suiTableAge(value)) {
					flag = true;
				}else {
					errorMsg = promptText.cardNumber.under18;
				}
			}else {
				errorMsg = promptText.cardNumber.formatError;
			}
		}else {
			errorMsg = promptText.cardNumber.isNull;
		}
		if(flag) {
			prompt(text[0], promptText.cardNumber.normal,true);
		}else {
			promptFailure(text[0], errorMsg);
		}
		return flag;
	};
	
	/**
	 * 支付密码
	 */
	var checkPassword = function(){
		var text = $("#password");
		if(!Helper.isEmpty(text.val())){
			var message = Helper.validata.validataPass(text.val());
			if(message) {
				promptFailure(text[0],message);
				return;
			}
		}else {
			promptFailure(text[0], promptText.password.normal,false);
			return true;
		}
		prompt(text[0], promptText.password.normal,true);	
		return true;
	};
	
	/**
	 * 确认支付密码
	 */
	var checkRepassword = function(){
		var text = $("#repassword");
		var val = text.val();
		if(val!==$("#Ipassword").val()) {
			promptFailure(text[0], promptText.password.inconformity);
			return;
		}
		if(!Helper.isEmpty(text.val())){
			var message = Helper.validata.validataPass(val);
			if(message) {
				promptFailure(text[0],"确认"+message);
				return;
			}
		}else {
			promptFailure(text[0], promptText.password.reinput,false);
			return true;
		}
		prompt(text[0], promptText.password.normal,true);
		return true;
	};
	
	/**
	 * 手机校验
	 * 15219876543
	 */
	var checkMobile = function() {
		var flag = false;
		var text = $("#mobile");
		var value = text.val();
		var errorMsg = "";
		if(!Helper.isEmpty(value))
		{
			flag = Helper.validata.isMobile(value);
			if(!flag) 
			{
				errorMsg = promptText.mobile.formatError;
			}
		}
		else 
		{
			promptFailure(text[0], promptText.mobile.isNull,false);
		}
		if(flag) 
		{
			prompt(text[0], promptText.mobile.normal,true);
		}
		else 
		{
			promptFailure(text[0], errorMsg);
		}
		return flag;
	};
	
	var validataEmail = function(){
		var text = $("#email");
		var value = text.val();
		if(!Helper.isEmpty(value))
		{
			var message = Helper.validata.validataEmail(text.val());
			if(message) 
			{
				promptFailure(text[0],message);
				return;
			}
			if(_errorEmailMap.hasKey(text.val()) || checkMemberinfoTrans(text.val())) {
				promptFailure(text[0], promptText.email.isExist);
				return;
			}
			prompt(text[0], promptText.email.normal,true);	
		} 
		else 
		{
			promptFailure(text[0], promptText.email.isNull,false);
			return;
		}
		return true;
	};
	
	
	$("#username").blur(validataUname);
	$("#password").blur(validataPass);
	$("#realName").blur(checkrealName);
	$("#cardNumber").blur(checkcardNumber);
	$("#mobile").blur(checkMobile);
	$("#email").blur(validataEmail);
	
	/**
	 $("#zipcode").blur(validataZipcode);
	 Helper.doms.muberKeyupEmpty($("#zipcode")[0]);
	 */ 

	$("#username").focus(function() {
		promptFailure(this, promptText.username.normal);
	});
	$("#password").focus(function() {
		promptFailure(this, promptText.password.normal);
	});
	$("#realName").focus(function() {
		promptFailure(this, promptText.realName.normal);
	});
	$("#cardNumber").focus(function() {
		promptFailure(this, promptText.cardNumber.normal);
	});
	$("#mobile").focus(function() {
		promptFailure(this, promptText.mobile.normal);
	});
	$("#email").focus(function() {
		promptFailure(this, promptText.email.normal);
	});
	
	$("form")[0].reset();

	/**
	 * flag:为true时表示输入正确，为false时表示提示信息
	 */
	var prompt = function(text, message,flag) {
		if(flag) {
			$('#'+text.id+'Prompt').addClass("qb_none");
			$('#'+text.id+'Prompt').html('');
		}else {
			if(message != '')
			{
				$('#'+text.id+'Prompt').removeClass("qb_none");
				$('#'+text.id+'Prompt').html('<span>'+message+'</span>');
			}
		}
	};
	
	var promptFailure = function(text, message) {
		if(message != '')
		{
			$('#'+text.id+'Prompt').removeClass("qb_none");
			$('#'+text.id+'Prompt').html('<span>'+message+'</span>');
		}
	};
	
});